package com.wskj.pay;

import com.wskj.common.core.domain.AjaxResult;

import java.math.BigDecimal;


/**
 * @author gun
 * @date 2023/4/11
 */
public interface IWxService {

    /**
     * 微信预支
     * @param moneys     支付金额 带小数点
     * @param classify   类型 1 app  2 二维码支付  3 小程序 公众号支付
     * @param userId     用户id
     * @param outTradeNo 单号
     * @param attach 业务类型 1：商品订单 2：邀约订单 3：充值 4：购买会员
     * @return
     * @throws Exception
     */
     AjaxResult pay(Double moneys, Integer classify, Long userId, String outTradeNo,String attach);

    /**
     * 回调
     * @param resXml
     * @param classType 1:微信APP 2：二维码 3：小程序 公众号
     * @return
     */
    String payBack(String resXml,Integer classType);

    /**
     * 退款
     * @param orderNumber 订单编号
     * @param money 退款金额
     * @return
     */
    boolean refund(String orderNumber, BigDecimal money);

}